Non-linear navigation of data representation

ABSTRACT

A method for scrolling through a representation of data that is too large to be presented legibly in its entirety within confines of a display is disclosed. The method includes presenting a section of the representation on the display. A portion of the representation is selected, using the section presented on the display, for scrolling on. The presentation of the section presented on the display is modified to include additional representation based on the portion selected. The additional content is to be presented in a non-linear fashion. Input from a user interface associated with movement through the additional content is received. The movement is to provide non-linear scrolling through the additional content. Apparatus for performing the method is also disclosed.

BACKGROUND

Displays are utilized to present a representation of data to a user. Therepresentation available for display may be larger than the display canpresent it in a format that is viewable by the user. Accordingly, thedisplay may limit presentation of the representation to a section. Thedisplay may provide a user interface to, for example, allow the user toscroll in different directions so that the representation viewable onthe screen is adjustable. If the representation is much larger than thedisplay it may take a fair amount of scrolling to present a desiredrepresentation on the display.

The representation presented on a display may include a menu or listingof various items of information for purposes of permitting the user toutilize a user interface to interactively view the listings and/orselect one of the displayed items or options from the listing. Such userinterface displays are useful in many applications. One example of sucha display is an electronic program guide (“EPG”), that typicallyprovides a selection guide for channels and/or video or other mediacontent, which can provide various information concerning channels andcontent available, at a selected time or over a period of time, to asubscriber of a cable TV operator, satellite TV operator, Internetbroadcaster/service provider or other program provider.

An EPG is typically displayed on a display monitor or screen of atelevision, and can be displayed on a tablet, a laptop or othercomputer, a smart phone, a mobile device, a remote control unit, a mediacenter device, or other electronic device associated with a monitor orscreen. The EPG typically displays a listing of channels carried by theservice provider, and information concerning the content of each channelwith respect to a particular day and time of day. Channels are typicallylisted using one or more identifiers (e.g., a channel number, anabbreviated or full name of a network or content provider, logo of anetwork or content provider, a set of call letters, and the like).Typically, the list of channels is ordered or sorted by one of theidentifiers, such as by channel number. A user may scroll through thechannels available for viewing by, for example, using “channel up” or“channel down” commands on a user interface (e.g., remote control).Similarly, a user can enter a channel number on a user interface fornavigating directly to a selected channel.

Conventional EPG user interface displays are provided in a tabularformat with each item of information being provided on a separate lineor row of the listing. Typically, where the information or selectionsare numerous the tabular listing provides only a subset of the overallselections at a time. The tabular listing may be provided in ascrollable format such that the user scrolls up or down (vertically)through rows or lines of the tabular listing to display items in thelisting not currently displayed. Channel guide displays, as one example,also typically permit scrolling horizontally along lines or rows of thetabular listing for purposes of displaying additional information andcontent relative to days and/or times. As a variation on the tabularformat discussed above, each row of a listing within a user interfacedisplay may provide information with respect to multiple different itemsin a grid-like pattern. It is also known to map or cause a listing ofinformation to wrap onto a surface or skin of a displayed object shownin perspective view such that the listing follows the surface contour ofthe object shown in perspective.

A relatively large number of items to be represented may presentpractical difficulties in navigation or display. For instance, thenumber of channels or content provided by a cable TV, satellite TV,Internet service provider, or other service provider may be too numerousto be displayed in a sufficient size to be readily perceptible to an enduser in a manner enabling channels and content to be readily, quicklyand conveniently located within the interactive display. In fact, theamount of content to select from may be so great that it requires theend user to scroll through large amounts of content to find the contentthey are interested in. The scrolling may be linear meaning that theamount of movement of the user interface equates linearly to amount ofcontent that scrolls within the display. As such, to scroll through arelatively large amount may take a relatively large amount of time.Accelerated scrolling may be utilized to enable a user to scroll throughlarge amounts of data in a relatively short amount of time but are donewithout any real visibility into where the user is with regard toscrolling or accuracy.

BRIEF DESCRIPTION OF THE DRAWINGS

Various features of the embodiments described in the following detaileddescription can be more fully appreciated when considered with referenceto the accompanying figures, wherein the same numbers refer to the sameelements.

FIGS. 1A-H illustrate a section of a representation of data presented ona display and several modifications of the section to enable non-linearscrolling, according to various embodiments.

FIGS. 2A-F illustrate different screen shots of an example displayutilizing non-linear scrolling, according to an embodiment.

FIGS. 3A-C illustrate different screen shots of an example displayutilizing non-linear scrolling, according to an embodiment.

FIG. 4 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment.

FIG. 5 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment.

FIGS. 6A-B illustrate example graphs showing the recalibration of apoint of inflection during use of a non-linear scrolling implementation,in accordance with an embodiment.

FIGS. 7-9 illustrate example graphs of non-linear scrollingimplementations, in accordance with different embodiments.

FIG. 10 illustrates an example flowchart for the implementation ofnonlinear scrolling in a program presenting content that cannot fitlegibility in its entirety on a display, in accordance with anembodiment.

FIG. 11A illustrates a section of a representation of data presented ona display, according to an embodiment.

FIG. 11B illustrates the section presented on the display modified toinclude additional representation presented in a non-linear fashion,according to an embodiment.

FIGS. 12A-B illustrate the use on non-linear scrolling on a map,according to an embodiment.

FIG. 13A illustrates a section of a representation of data presented ona display, according to an embodiment.

FIG. 13B illustrates the original section presented as one segment onthe display with additional representations presented in a non-linearfashion, according to an embodiment.

FIGS. 14A-D illustrates several example views of a 3D representation ofdata according to an embodiment.

DETAILED DESCRIPTION

For simplicity and illustrative purposes, the principles of theembodiments are described by referring mainly to examples thereof. Inthe following description, numerous specific details are set forth inorder to provide a thorough understanding of the embodiments. It will beapparent however, to one of ordinary skill in the art, that theembodiments may be practiced without limitation to these specificdetails. In some instances, well known methods and structures have notbeen described in detail so as not to unnecessarily obscure theembodiments.

Programs that provide a representation of data that is too large for auser to readily see on the display may enable the user to scroll throughthe representation. Typical scrolling is linear meaning that the amountof movement of the user interface equates linearly to amount of contentthat scrolls within the display. A ratio of user interface movement toscrolling distance may adjust (increase or decrease) the rate ofscrolling. If the rate of scrolling is to slow it may take an excessiveamount of time to scroll to the data desired to be visible.Alternatively, if the rate is too fast the accuracy for finding thedesired content may be low. Furthermore, the use of linear scrollingprovides the same level of control in scrolling for desired content thatis close in proximity to the currently viewed content as well as contentthat is far away.

For example, in a conventional EPG a user typically is presented withmany more channels than the user can readily see on the display. Someconventional EPGs may present hundreds of channels or well over athousand channels. Accordingly, the user may wish to scroll quicklythrough several hundred channels to be able to rapidly access thechannel that the user wants. Some conventional systems provide fast oraccelerated scrolling in a simplified manner, such that the user cannotreadily see where they are in the channel map (or where they want togo), so the user does not necessarily know when to stop scrolling, andmay be required to make an estimate without adequate feedback.

In an illustrative embodiment, the ability to scroll through arepresentation of data (that is too large for a user to readily see on adisplay) in a non-linear fashion is provided. A user interface mayutilize non-linear effects in the display of at least a portion of therepresentation during non-linear scrolling. The representation may besegregated in some fashion (e.g., columns, rows) and the non-linearaffects may include segregated portions (e.g., rows, columns) of theinformation varying in size based on their distance from a selectedportion (e.g., row, column). For example, the size of columns may getsmaller as the columns get farther away from a selected column.

Accordingly, the amount of segregated portions scrolled through withrespect to movement of a user interface may vary based on the distancethe user interface movement is from the selected portion as the size ofthe portions may vary based on their distance from the selected portion.For example, as the user moves the user interface farther from aselected column the same amount of movement will result in more columnsbeing scrolled through as the movement will be covering more columns asthe columns get smaller. The non-linear scrolling may provide fine-graincontrol of scrolling near the selected portion (the initial scrollingmay act similar to linear scrolling) while also providing a method ofrapid scrolling for a representation far from the selected portion.Furthermore, a user's motions may directly map to distance scrolled(which defines, for example, the columns scrolled through) so that theuser may feel more in control of the accelerated scrolling providedhereby (for example, as opposed to accelerated scrolling provided byaccelerated swipes).

In some embodiments, the non-linear scrolling effects may include anenhancing (e.g., zooming, enlarging, magnifying) effect during ascrolling operation. Any of numerous kinds of zoom or magnificationeffects, such as a simulated magnifying glass effect, may be used. Theenhancing effects may be to enlarge a segment (and possibly addadditional information to the segment) that is currently selected basedon the movement of the user interface during scrolling so that thecontent contained therein may be visible. The enhancing effects mayincrease the accuracy of the non-linear scrolling as a user would beable to see exactly where they were in the content while scrolling.

FIGS. 1A-H illustrate a section of a representation of data presented ona display and several modifications of the section to enable non-linearscrolling, according to various embodiments. FIG. 1A illustrates asection of the representation presented on the display including aplurality of rows (3 illustrated) and columns (2 illustrated) creating aplurality of cells (6 illustrated) labeled R14-C14 through R16-C15. FIG.1B illustrates an example modification of the section assuming thatcolumn 14 was selected for scrolling (portion of the section selected)and that cell R15-C14 was selected as a starting point (point ofinflection within the selected portion) for scrolling, according to oneembodiment. As illustrated, each cell (row) in the selected columnextends across the entire display such that column 15 is not visible.The cells within the selected column are presented in a non-linearfashion (sizes vary). As illustrated, the selected cell (R15-C14) iscentrally located and the cells that extend therefrom in each directiondecrease in size as they get farther from the selected cell. Therepresentation within each cell may be deemphasized (e.g., get smaller,fade to black) as the cells get farther from the selected cell.

FIG. 1C illustrates an example modification of the section assuming thatcolumn 14 was selected for scrolling and that cell R15-C14 was selectedas a starting point for scrolling, according to one embodiment. The rowsfor each column are presented in a non-linear fashion (sizes vary). Asillustrated, the row associated with the selected cell (R15-C14) iscentrally located and the rows that extend therefrom in each directiondecrease in size as they get farther from the row associated with theselected cell. The representation within the cells in each row may bedeemphasized (e.g., get smaller, fade to black) as they get farther fromthe row associated with the selected cell.

FIG. 1D illustrates an example modification of the section assuming thatcolumn 14 was selected for scrolling and that cell R15-C14 was selectedas a starting point for scrolling, according to one embodiment. Thecells within the selected column are presented in a non-linear fashion(sizes vary). As illustrated, the selected cell (R15-C14) is centrallylocated and the cells that extend therefrom in each direction decreasein size as they get farther from the selected cell. The columns (e.g.,column 15) that were not selected for scrolling are deemphasized (e.g.,representation removed, faded to black).

FIG. 1E-F illustrate example non-linear scrolling through the modifiedcontent presented in FIG. 1B, according to one embodiment. Asillustrated, when performing non-linear scrolling the representationpresented in a cell that is currently being scrolled over (location ofthe user interface) is enhanced (e.g., enlarged) so that therepresentation is readily visible to a user. The enhancement enables auser to accurately scroll in an accelerated fashion. FIG. 1E illustratesthe selected cell (R15-C14) being enhanced while FIG. 1F illustrates acell R12-C14 being enhanced.

FIG. 1G illustrates an example modification of the section assuming thatrow 15 was selected for scrolling and that cell R15-C15 was selected asa starting point for scrolling, according to one embodiment. Asillustrated, each cell (column) in the selected row extends across theentire display such that the other rows (rows 14 and 16) are notvisible. The cells within the selected row are presented in a non-linearfashion (sizes vary). As illustrated, the selected cell (R15-C15) iscentrally located and the cells that extend therefrom in each directiondecrease in size as they get farther from the selected cell. Therepresentation within each cell may be deemphasized (e.g., get smaller,fade to black) as the cells get farther from the selected cell.

FIG. 1H illustrates an example modification of the section assuming thatrow 15 and column 14 were selected for scrolling and that cell R15-C14was selected as a starting point for scrolling, according to oneembodiment. The cells (columns) within the selected row and the cells(rows) within the selected column are presented in a non-linear fashion(sizes vary). As illustrated, the cells extending away from the selectedcell in the selected column and the selected row decrease in size asthey get farther from the selected cell. The representation within eachcell may be deemphasized (e.g., get smaller, fade to black) as the cellsget farther from the selected cell. A user may scroll by column or rowby moving the user interface in an appropriate direction.

In an embodiment, scrolling with non-linear effects may be provided inan EPG. Some embodiments are implemented on a computing device that hasa touch screen; others are operable using a gestural interface in 2D or3D, a mouse, a touchpad, or other kinds of pointing device. Aspects ofan embodiment can be provided in a computing device such as a tablet,smartphone, or other mobile device, or other type of portable or desktopcomputer, or in a server providing video or visual elements to a displaydevice or a client computing device.

FIGS. 2A-F illustrate different screen shots of an example EPG display200 utilizing non-linear scrolling, according to an embodiment. FIG. 2Aillustrates the example EPG display 200 in a normal operation mode. TheEPG display 200 is displaying a portion of channels or content providedby a cable TV, satellite TV, Internet service provider, or other serviceprovider that may be available to the user. The EPG display 200 includesan information area 210 (illustrated as upper portion, approximatelyupper 20%) and a grid guide 220 (illustrated as lower portion,approximately lower 80%). The information area 210 may show, forexample, information about a currently playing program or a currentlyselected channel, navigation information, and the like. In the depictedexample, the information area 210 includes, among other information, achannel numbered “05” and labeled “ABC”, and a currently playing orselected program labeled “Desperate Housewives” that has 15 minutes leftas of the current time of 8:45 PM.

The grid guide 220 may include a plurality of columns and rowsidentifying channels and programs available on those channels. Asillustrated, the grid guide 220 includes a channel area 230 and aprogram area 240. The channel area 230 displays at least one column ofinformation identifying the channels. As illustrated, the channel area230 includes channel number and network ID as the identificationinformation. The channels are displayed along a vertical axis (eachchannel associated with a row). The channel area 230 only displays asubset of the available channels. The subset is the amount of channels(number of rows) that can legibly be fit into the grid guide 220. Asillustrated, a total of five channels (01 through 05) are includedwithin the channel area 230 of the grid guide 220. The subset is likelya small percentage of the number of channels that are available as manysystems may include hundreds or even thousands of channels.

The program area 240 includes a plurality of rows equal in number to thenumber of rows in the channel area 230. The rows in the program area 240are associated and aligned with rows in the channel area 230. Theprogram area 240 may include a plurality of columns associated withdifferent time intervals (e.g., each column may represent a half-hourtime block). An initial row 245 of the program area 240 may identify thetime intervals. The time intervals initially presented may be based onthe current time. For example, the first time interval may include thecurrent time or may be a next time interval after the current time. Asillustrated, the first time interval (9:00 PM) is a next time intervalafter the current time (8:45 PM as identified in the information area210). The number of time intervals displayed is based on what canlegibly be fit into the grid guide 220. As illustrated, four half-hourtime intervals (9:00 PM-10:30 PM) are included within the program area240 of the grid guide 220.

Each row in the program area 240 may identify the programs that areavailable for the associated channel for the different time intervals.For ease of illustration, the program identification (e.g., name ofprogram) is not included in the program area 240. Rather, the individualprograms are simply illustrated as empty boxes. A program that runs formore than one time interval may include the program identification inmultiple columns. For example, CNN includes a program that runs from9:00 to 10:00 so the box representative of the program (and the programidentification if it was illustrated) is extended over the 9:00 and 9:30time intervals.

In order to explain and illustrate the non-linear scrollingfunctionality of the EPG, the present discussion will assume that theEPG is being presented on a display having a touch screen interface (atouch screen display). For example, the EPG may be presented on a tabletcomputer, a smartphone, and the like. A user may interact with the EPG,for example, using the tip of a finger. As illustrated, a hand 280 ofthe user will typically be poised above the display during input, in aposition likely to conceal a portion of the display from the user.However, for illustrative purposes, the position of hand 280 isrepresented in the figures without concealing the display. In order toscroll through the channels on the EPG 200 in a non-linear fashion auser may select a channel from channel area 230 by making contact (e.g.,at a fingertip) with the display at a point of contact 290 within one ofthe channel identification columns for the channel. As illustrated, theuser's finger makes contact with channel 01 (channel 01 is the point ofcontact 190) which is the channel number for CNN network.

According to one embodiment, once the user touches and holds theirfinger on the channel for a defined amount of time (establishes thecontact point 290) the EPG 200 may initiate non-linear scrolling ofchannels on the EPG 200. The amount of time that the user needs tomaintain contact can be a configurable parameter. The channel that theuser selects for non-linear scrolling may become associated with a pointof inflection for the non-linear scrolling. The point of inflection isthe point from where non-linear effects are implemented and will bedescribed in more detail later.

FIG. 2B illustrates the example EPG display 200 preparing to enter anon-linear channel scrolling mode. If additional channels are going tobe presented in a non-linear fashion for the user to scroll throughlooking for a certain channel it is likely the user is not concernedwith programs being presented on the various channels in the differenttime slots. Accordingly, when entering the non-linear scroll mode forinformation in the channel area 230 the information presented in theprogram area 240 may, in some embodiments, be removed, deemphasized(e.g., faded, placed in background) and/or disassociated with thechannel area 230. As illustrated, a far edge 250 of the program area 240(last time slots illustrated) is rotated away from an edge of the gridguide 220 such that it appears to be going into the display. The timeslots further away from the current time may also be faded.

FIG. 2C illustrates the example EPG display 200 as it has entered anon-linear channel scrolling mode. The program area 240 may be furtherdeemphasized. The channel area 230 may now present many more channelsthan it previously presented. According to one embodiment, all of theavailable channels may be displayed. In order to fit more channels thesize of the rows associated with and presenting the channel data must bereduced from the size of the rows in normal operation when only a fewrows were presented so the data contained therein was legible. Theselected channel (01) may be the point of inflection for the non-lineareffects on the data presented and the non-linear scrolling createdthereby.

The selected channel may be assigned a row height and the size of theother rows (possibly in both directions) may be reduced such that thefarther the rows are away from the selected channel (e.g., channel 01)the smaller they are. The point of inflection may be a starting point(and possibly center point) for various non-linear algorithms providingnon-linear effects and scrolling (various examples will be discussedlater). As illustrated, the user selected an initial channel (01) from atop row of the channel area 230 so that the row for channel 01 isillustrated at the top of the channel area 230 and the rows for theother channels are illustrated below that with decreasing row heights.In this illustrated example, a user can only initially move their fingerin a downward direction to scroll through increasing channel numbers.

As the rows get smaller the data presented in the rows may get smallerand become more difficult to read and may eventually become illegible.According to one embodiment, the rows a certain distance away from theselected row may not even present channel information. While the datamay not be legible or presented for some of the rows in the channel area230, the rows are still associated with a channel. The information forthe channel selected (e.g., channel 01 was originally selected) may bemagnified and presented in a magnified window 260 so that the channelinformation is readily visible. As illustrated, the magnified window 260may extend into the program area 240 and may include additionalinformation (e.g., header defining as a news channel, and text to rightof envelope providing additional details about the channel).

The user may scroll through channels on the EPG 200 by moving theirfinger along the channel area 230 (changing the contact point 290). Thechannel the users finger is associated with (the row the users finger isover) at any point during the scrolling may be magnified and presentedin the magnified window 260 so the user will be aware what channel theyhave currently scrolled to. The scrolling from one channel to the nextoccurs once the users finger moves from a row associated with onechannel to a row associated with a new channel. As the size of the rowsmay decrease the further away from the selected channel it is, thescrolling from one channel to the next may occur with less movement ofthe finger the farther away from the selected channel. By way ofexample, it may take the user a movement of sixty pixels on the displayto scroll from the selected channel (01) to a next channel (02) while itmay only take ten pixels to scroll from a channel 07 to a channel 08(going from six rows from selected channel to 7 rows).

When scrolling from the initial channel (e.g., channel 01), a smallmovement of the finger may result in scrolling to (and magnification of)a channel close to the original channel while a large movement mayresult in scrolling to (and magnification of) a channel farther away.The use of the non-linear scrolling and the magnification may allow theuser to scroll to channels in close proximity to the originally selectedchannel with fine granularity while also enabling the user to scrollmany (e.g., hundreds of) channels quickly and accurately as they will beable to see where they are with the scrolling. By way of example, amovement of a user's finger of 60 pixels on the display from theselected channel (01) may scroll a single channel (02) while a movementof 240 pixels from the selected channel may scroll 100 channels.

FIG. 2D illustrates the example EPG display 200 where the user hasscrolled down the channel area 230 such that channel 1685 associatedwith ESPN is presented in the magnified window 260 (channel 1685 is thepoint of contact 290). The non-linear scrolling of channels enabled theuser to run their finger from the top of the channel area 230 to thebottom of the channel area 230 and scroll from channel 01 to channel1685. According to one embodiment, the range of channels available onthe EPG display 200 may be from 01 to 1685 so that a user can scrollthrough the entirety of the available channels to the EPG display 200 byscrolling their finger over the entire height of the channel area 230.The use of the magnified window 260 enabled the user to know where therewere with regard to scrolling as the user moved their finger down thedisplay.

According to one embodiment, once the user removes their finger from thechannel area such that there is no contact point 290, the EPG 200 mayreturn to normal operations centered around the channel the user'sfinger was removed from.

FIG. 2E illustrates the example EPG display 200 once the user removestheir finger (lifts from the screen). As illustrated, the channel area230 reverts back to displaying channel identification information (e.g.,channel number and network ID) in equally sized rows for a subset (e.g.,5) of the available channels including the channel the users finger wasremoved from (channels 1681-1685). The program area 240 which had beendeemphasized is starting to return to normal operation as well. The faredge 250 of the program area 240 (last time slots illustrated) isrotated back toward the edge of the grid guide 220.

FIG. 2F illustrates the example EPG display 200 back in normal operationincluding the display of programming associated with the scrolled tochannel (1685).

FIGS. 3A-C illustrate different screen shots of an example EPG display300 utilizing non-linear scrolling, according to an embodiment. FIG. 3Aillustrates the example EPG display 300 in a normal operational mode.The EPG display 300 includes an information area 310 providinginformation about a currently playing program or a currently selectedchannel and a grid guide 320 displaying a plurality of columns and rowsidentifying channels and programs available on those channels fordifferent time intervals. The grid guide 320 includes a channel area 330and a program area 340. The channel area 330 displays network identifier(e.g., logo and call letters) and channel number for a subset of theavailable channels (7 channels illustrated). The subset is the amount ofchannels (number of rows) that can legibly be fit into the grid guide320. The program area 340 may identify programs that are available forthe associated channel for different time intervals (e.g., half-hourblocks of time) that are identified (four time intervals illustrated,the current time interval and the next three time intervals). It shouldbe noted that the channels illustrated appear to arbitrarily jump (2, 3,5, 17, 56, 1007, 1008) rather than increase incrementally. This isbecause the EPG is displaying at least a subset of the user's favoritechannels (indicated by a favorites tab 345 being highlighted in aselection bar 350 along lower edge of the display 300).

A user may initiate non-linear scrolling of the EPG 300 by moving theirhand 380 over the display 300 and making contact (e.g., with afingertip) with one of the channels at a point of contact 390 in thechannel area 330. As illustrated, the user's finger is contactingchannel 03 (channel 03 is the point of contact 390) which is associatedwith NBC.

FIG. 3B illustrates the example EPG display 300 as it has entered anon-linear channel scrolling mode. The content within the program area340 is removed. The channel area 330 may now present many more channelsthan in normal operation by reducing the size of the rows. All of thechannels may be illustrated in the non-lineal scrolling mode rather thanjust the favorites that were being displayed. The channel area 320 mayinclude rows for all the channels available to the EPG 300 or if thenumber of channels available to the EPG 300 is too large may include alarge subset of the channels. That is, if the number of channelsavailable is too large the size of the rows would have to be so smallthat movement between the rows could not easily be detected as thesmallest movement of the user's finger could cause the channel selectedto jump back and forth.

The selected channel (channel 03) may the point of inflection for thenon-linear scrolling. The selected channel may be assigned a row heightand the size of the other rows may be reduced such that the farther therows are away from the selected channel (e.g., channel 03) the smallerthey are. The point of inflection may be a starting point (and possiblycenter point) for various algorithms providing non-linear effectsscrolling. As illustrated, the user selected the initial channel (03)for engaging non-linear scrolling from a second row of the channel area230 so that additional rows are available on each side of the selectedrow (channel) so that the user can scroll in both directions. However,the amount of rows illustrated above and thus that the amount ofscrolling that can occur in an upward direction is far less that theamount of scrolling that can occur in a downward direction.

The selected channel (e.g., channel 03) may be magnified and may includeinformation, for example, about a currently playing program in amagnified window 360. The magnified window 360 may extend into theprogram area 340. The information about the currently playing programmay be from the program area 340 (e.g., information that would bepresented if you selected an information button about the program,information that would be displayed in the information window 310 if theprogram was selected and/or playing).

The size of the rows may be smaller the farther the rows are away fromthe selected channel (e.g., channel 03). The information presented inthe rows of the non-linear scrolling mode may be different than thenormal operation. For example, rather than displaying network identifier(e.g., logo and call letters) followed by the channel number it maydisplay the channel number followed by a reduced information networkidentifier (call letters without the logo). As the rows get smaller thedata presented in the rows may get smaller and the amount of data may bereduced. As illustrated, the channel number and network identifier (callletters) are displayed for the channels around the selected channel butas you get further away the selected channel the network identifierbecomes lighter and then eventually is no longer displayed. The furtheryou get from the selected channel the more difficult it is to read thechannel number. According to one embodiment, the rows a certain distanceaway from the selected row may not even present the channel number. Eachrow is associated with a channel regardless of the size or amount ofdata that is presented in the row.

The scrolling from one channel to the next occurs once the users finger(contact point 390) moves from a row associated with one channel to arow associated with a new channel. As the size of the rows decrease asthey extend away from the point of inflection (selected channel), thescrolling from one channel to the next (and the magnification of thechannel) may occur with less movement of the finger the father away theusers finger is from the from the point of inflection (selectedchannel). When scrolling from the point of inflection, a small movementof the finger may result in scrolling to (and magnification of) achannel close to the original channel (provide fine granularity in thescrolling to channels in close proximity to the point of inflection)while a large movement may result in scrolling to (and magnification of)a channel farther away.

FIG. 3C illustrates the example EPG display 300 as the user scrollsapproximately half way down the channel area 320 where the point ofcontact 390 is channel 1802 associated with HBO, which is presented inthe magnified window 360. The non-linear scrolling of channels enabledthe user to scroll from channel 03 to channel 1802 by moving theirfinger (the point of contact 390) down roughly half the channel area320. The use of the magnified window 360 enabled the user to accuratelyscroll to a desired channel.

When the user scrolls their finger down the screen (channel area 320)the size of the rows for the channels not currently under the usersfinger may remain the same (e.g., the further away from the originallyselected channel the smaller) while the row for the channel currentlybeing scrolled over is magnified and additional information is added tothe selected in the magnified window 360.

As rows farther away from the point of inflection may be small the levelof granularity provided is course as even slow small movements of theusers finger may result in the scrolling through several channels.Accordingly as a user approaches the desired channel they may wantincrease the level of granularity they are provided in scrolling.According to one embodiment, if the user pauses on a particular row(channel) for a predefined amount of the time (may be a configurableparameter) the point of inflection may be recalibrated to the channel(row) the user paused on. Accordingly, the paused on channel (new pointof inflection) may be assigned a row height and the size of the otherrows may be reduced such that the farther the rows are away from thepaused on channel the smaller they are. The user may now scroll tochannels in close proximity with small movements of the user's finger(point of contact 290) and provide fine granularity in the scrollingcentered around the new point of inflection.

FIG. 3C illustrates channel 1802 associated with HBO in the magnifiedwindow 360 and the rows extending in each direction therefrom gettingsmaller indicating that channel 1802 has been recalibrated as the pointof inflection. Accordingly, a user may engage in non-linear scrollingfrom the new point of inflection (channel 1802). As channel 1802 is nearthe middle of the channel area 330 the user can scroll a fair amount inboth directions.

According to one embodiment, once the user removes their finger from thechannel area the EPG 300 may return to normal operations centered aroundthe channel the user's finger was removed from.

FIG. 4 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment. The graph is a bellcurve centered on the point of inflection. The graph illustrateschannels along the x-axis and height of rows (e.g., in pixels) for thechannels along the y-axis. The point of inflection is illustrated aschannel 500 and the bell curve traverses from channel 01 to channel1000. The row height peeks at the point of inflection (channel 500) andare reduced in each direction based on distance from the point ofinflection. It should be noted that no channels are associated with thetails of the bell curve as the height of any rows at that point would beso small that the slightest movement of a user's finger could cause theEPG to bounce back and forth between multiple channels. The bell curvemay be configured based on the total number of channels available andthe scrolling distance of the program area.

The bell curve may be utilized in an EPG to present channels 1-1000(possibly all the available channels) when it is operating in non-linearscroll mode. The bell curve illustrates how a user must move theircontact point on the EPG screen a larger distance to scroll to a nextchannel when they are in close proximity to the point of inflection(provide fine granularity of scrolling) than they do as they get fartheraway from the point of inflection (provide fast scrolling). Likewise, amovement of a certain distance will scroll less channels in closeproximity to the point of inflection than it will a further distanceaway from the point of inflection. As the user moves their contact pointalong the EPG they are traversing the rows in accordance with bellcurve.

FIG. 4 further illustrates a scroll distance from the point ofinflection along the x-axis. By way of example the scroll distance isillustrated as six inches (an EPG display is capable of scrolling over asix inch area). According to one embodiment, a tablet computer may becapable of providing a six inch scroll area. As illustrated, the scrolldistance assumes that the point of inflection is at the center of theEPG display and maps out 3 inches in each direction. The three inches ineach direction ends at the beginning of the tails indicating thatportion of the bell curve is not utilized. As the rows decrease in sizeas they extend from the inflection point, the number of channels betweenthe inflection point and the 1 inch scrolling distance in each directionwill include the least channels and the scrolling distance between 2 and3 inches in each direction from the inflection point will include themost channels.

By way of example, the channel associated with the +1 inch scrolldistance (⅓ of the scrolling distance in the upward direction) ischannel 550 (10% of the channels to be scrolled in the upwarddirection). The channel associated with the −2 inch scroll distance (⅔of the scrolling distance in the downward direction) is channel 300 (40%of the channels to be scrolled in the downward direction). Utilizingthese example numbers, 10% of the channels to be scrolled in eitherdirection are included within a 1 inch scroll distance, another 30% areincluded within the 1 to 2 inch scroll distance (40% total within 2inches), and the remaining 60% are included within the 2 to 3 inchscroll distance.

It should be noted that FIG. 4 is based on the contact point of theuser's finger on the EPG being centrally placed and the point ofinflection being associated with a channel near the middle of thechannel spectrum.

If the contact point is at one end of the EPG, the bell curve may onlyhave a single side that is calibrated based on the overall scrollingdistance. If the contact point is off center by a significant amount thebell curve may be calibrated for based on the scrolling distance of thelonger scroll side. For example, if the contact point of a six inchdisplay is one inch from one side and 5 inches from the other side thebell curve may be generated such that the rows sizes associated with thechannels are mapped out for five inches.

FIG. 5 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment. The graph is a bellcurve centered on a point of inflection (illustrated as channel 100).The bell curve may be generated based on a scroll distance, in thedepicted example, of 5 inches in each direction. However, in thedepicted example, the real scroll distance of 6 inches is 5 inches inone direction (upward) and 1 inch in the other direction (downward). Therow heights associated with channels within one inch of scrollingdistance on each side of the point of inflection are the same size. Forexample, channel 01 and channel 200 each a distance of one inch awayfrom the point of inflection in opposite directions may have the samerow size.

According to one embodiment, the EPG may allow wrapping of the channelsduring non-linear scrolling. For example, while scrolling upwards youmay scroll past a last channel (e.g., channel 1000) and then continuescrolling from a first channel (e.g., channel 01). Channel wrapping maybe useful is the channel associated with the point of inflection is notnear the center of the channel spectrum.

FIGS. 6A-B illustrate example graphs showing the recalibration of apoint of inflection during use of a non-linear scrolling implementation,in accordance with an embodiment. FIG. 6A illustrates the example bellcurve of FIG. 4 centered on channel 500 as the point of inflection. Itis assumed that the user moved their contact point along the EPG (e.g.,the program area) and traversed the bell curve in a downward directionuntil they paused at channel 250. The pause at channel 250 was longenough (e.g., greater than a predetermined amount of time that may beconfigurable) to have point of inflection recalibrated to channel 250.

FIG. 6B illustrates an example bell curve (e.g., same format as FIG. 5A)centered on channel 250 as the point of inflection. As channel 250 isnot in the center of the channel spectrum (1-1000) the channels may beable to wrap around such that after scrolling downward to channel 01 theEPG can continue to scroll to channel 1000 and then down from there. Asillustrated, a user can scroll downwards from the inflection point ofchannel 250 to channel 01 and then from channel 1000 down to channel751. The user may scroll upward from the point of inflection to channel750.

It should be noted that FIG. 6B appears to be based on the contact pointof the users finger on the EPG being centrally placed. Considering thatthe user had just scrolled down from a central location associated withthe channel 500 point of inflection it is likely that the contact pointwould be off centered and may require an adjustment to the bell curve.

The non-linear effects related to presentation of information and thenon-linear scrolling thereof is not limited to bell curves. Rather anytype of non-linear algorithms could be utilized without departing fromthe current scope.

FIG. 7 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment. The example graphprovides an exponential relationship between the distance a channel(row) is from a point of inflection to the size of the row. The graphillustrates number of channel away from the point of inflection (focalpoint) along the x-axis and height (e.g., in pixels) of the rows alongthe y-axis. The illustrated exponential relationship is to half the sizeof a next row away from by focal point. As illustrated, the size of therows may be cut in half from 60 pixels down to one pixel.

FIG. 8 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment. The example graphprovides a step response for the distance a channel (row) is from apoint of inflection to the size of the row. The step response includesseveral consecutive rows (a set of rows) having a defined height,followed by a next set of rows having a smaller height, and so on untilthe minimum height is obtained. As illustrated the first several rowshave a row height of 60 pixels, followed by several rows at 20 pixels,and so on.

FIG. 9 illustrates an example graph of a non-linear scrollingimplementation, in accordance with an embodiment. The example graphprovides a piecewise linear relationship between the distance a channel(row) is from a point of inflection and the size of the row. Thepiecewise linear relationship may include a first linear relationshipfor a first set of rows, a second linear relationship for a second setof rows, and so on until the minimum height is obtained.

Regardless of the non-linear algorithm utilized, the non-linearpresentation of information and the associated non-linear scrolling ofthe information provides a fine granularity for scrolling around a pointof inflection selected by a user while also providing an acceleratedscrolling to information farther away. The use of magnification of thecontent currently being scrolled over provides information for use inthe accelerated scrolling and increases the accuracy thereof.

FIG. 10 illustrates an example flowchart for the implementation of nonlinear scrolling in a program presenting a representation of data (e.g.,EPG) that can not fit legibility in its entirety on a display. Theprocess begins by the program presenting on a display a section of therepresentation 1000. Next, a user informs the program presenting thesection of the representation (e.g., EPG) that non-linear scrolling hasbeen selected 1010. The selection of non-linear scrolling may includeselecting a defined portion (e.g., row, column) of the representationthat you desire to scroll through. For example, in the EPG examplesabove the user was scrolling through channels so they selected thecolumn in the EPG associated with channels for non-linear scrolling. Astarting point (point of inflection) within the defined portion isselected 1020. The starting point is where the non-linear scrolling willstart from. It should be noted the steps 1010, 1020 may be performed atthe same time. For example, in the EPG examples above the non-linearscrolling was initiated and the inflection was selected when the userdepressed a certain channel with the channel column for a defined amountof time.

Once non-linear scrolling and the point of inflection have been selectedthe section presented is modified to present additional representation(e.g., row, column) on the display 920. The additional representationmay include all of the available representation (e.g., all of thechannels available). The additional representation may be presented in anon-linear fashion around the inflection point. For example, in the EPGexamples above the size of the rows for the channels above and below thechannel identified as the point of inflection were reduced in size asthey got further away from the point of inflection.

Once the additional representation is presented the user may utilize auser interface to scroll through the additional representation 1040. Thescrolling is non-linear as the movement of the user interface willresult in different amount of scrolling based on where the scrolling iswith respect to the point of inflection. The non-linear scrollingprovides fine granularity scrolling around the point of inflection whilealso providing accelerated scrolling to information farther away. Itshould be noted that during scrolling a enhancing (e.g., magnifying)effect may be utilized to provide information related to the locationwithin the defined portion the scrolling is at (e.g., what channel thescrolling is at).

If the user is satisfied with the results of the non-linear scrolling(e.g., found content they were looking for, are in close proximity ofthe content) the user may exit non-linear scrolling 1050. For example,in the EPG examples above the non-linear scrolling was exited when theuser removed their finger from the EPG. Once non-linear scrolling isexited the content returns to being displayed in a normal fashion basedon the defined portion of the content the user had scrolled to 1060. Forexample, in the EPG examples above normal EPG display returns with thechannel that was selected being presented therewithin.

During the course of linear scrolling the user may be scrolling in anaccelerated fashion having course granularity and decide they wantscroll with finer granularity as they get close to the desiredselection. The user may recalibrate the point of inflection to provide afiner level of granularity in scrolling therearound 1070. For example,in the EPG examples above a user may recalibrated the point ofinflection by pausing their scrolling on a certain point for a definedamount of time. After the point of inflection is recalibrated thepresentation of the additional content may be updated to reflect the newinflection point (base non-linearity of presentation therearound) 1030.

The above examples for non-linear scrolling focused on scrolling throughthe channels on an EPG. It will be understood that the principlesdisclosed herein are not limited to scrolling through channels. Rather,any item illustrated on the EPG could be utilized for non-linearscrolling, including but not limited to scrolling through time periods.Furthermore, the above EPG examples focused on scrolling verticallywithin the EPG but are in no way intended to be limited thereby. Ratherthe EPG could scroll horizontally based on, for example, programsassociated with a specific channel. Furthermore, the EPG could bescrolled through horizontally if the EPG was configured differently.

It will be understood that the principles disclosed herein are notlimited to EPGs, and can readily be applied to and included in userinterfaces for displaying and navigating any representation of data inwhich a user is typically presented with a larger area or volume ofrepresented data (e.g., rows, columns, cells, tiles, fields) to navigatethan the user can readily see on the display. The principles disclosedherein are applicable, for example, to user interfaces for displayingand navigating large spreadsheets, documents, images, maps, drawings,and the like.

FIG. 11A illustrates a section of a representation of data presented ona display, according to an embodiment. The section does not include anyidentifiable portions (e.g., rows, columns) of the representation thatone would typically desire to scroll through the representation basedon. However, if non-linear scrolling is desirable the representation maybe segregated into segments (a portion of the section) of a definedsize. The segments may be arbitrarily assigned or may be assigned basedon various parameters, including for example, overall size of therepresentation and what is included in the representation. The segmentsmay be the same size or may vary. FIG. 11A illustrates the sectiondivided into a grid of equal size segments (cells). It should be notedthat the segregation of the section into segments may not be visible onthe display or may be faintly visible so that that it does not interferewith the section being presented.

FIG. 11B illustrates the section presented on the display modified toinclude additional representation presented in a non-linear fashion,according to an embodiment. As illustrated, a selected segment ispresented centrally and segments extending in all directions therefromare presented in a non-linear fashion (get smaller as they get fartheraway). The original section presented on the display is identified forpoint of reference. The representation within the segments may bedeemphasized as the segments get farther away from the selected segment.When a user scrolls though the modified section presented the segmentthey are scrolling over may be enhanced (e.g., enlarged) to providevisibility into location on the representation during acceleratedscrolling.

FIGS. 12A-B illustrate the use on non-linear scrolling on a map,according to an embodiment. FIG. 12A illustrates the map in a normalview while FIG. 12B illustrates the map as it may be presented fornon-linear scrolling. The portion of the map that a user is currentlyscrolling over (e.g., Philadelphia) is enhanced (e.g., enlarged).

FIG. 13A illustrates a section of a representation of data presented ona display, according to an embodiment. The section does not include anyidentifiable portions (e.g., rows, columns) of the representation thatone would typically desire to scroll through the representation basedon. In fact, if non-linear scrolling is desirable the entire section maybecome a point of inflection.

FIG. 13B illustrates the original section presented as one segment onthe display with additional representations presented in a non-linearfashion, according to an embodiment. As illustrated, the originalsection is presented centrally and additional representations areincluded in additional segments extending in all directions therefrom.The additional segments are presented in a non-linear fashion (getsmaller as they get farther away). The representation within thesegments may be deemphasized as the segments get farther away from theselected segment (original section). When a user scrolls though themodified section presented, the segment they are scrolling over may beenhanced (e.g., enlarged) to provide visibility into location on therepresentation during accelerated scrolling.

It will be understood that the principles disclosed herein areapplicable to, for example, the display of two dimensional (2D) data andthree dimensional (3D) data.

FIGS. 14A-D illustrates several example views of a 3D representation ofdata according to an embodiment. The principles of non-linear scrollingmay be provided for 3D images as well. The non-linear effects and thenon-linear scrolling may occur in any of the three dimensions. Inaddition to the different emphasizing and deemphasizing modificationsdescribed with respect to the 2D presentations (e.g., increasing,decreasing, fading to black) the emphasizing and deemphasizingmodifications in a 3D presentation may include additional modificationsincluding, for example, changing the opacity.

Further illustrative applications will be apparent, for example, in anyof numerous contexts where conventional user interfaces have includedvertical and/or horizontal scroll bars for navigation of representeddata. The foregoing examples and embodiments are illustrative andnon-limiting.

It will be further understood that the applicability of the principlesdisclosed herein is not limited to touchscreen displays ortouch-sensitive input devices. Although examples are provided ofembodiments that use a touch-sensitive input device, other types ofinput devices (such as a pointing device or gestural interface) can beused.

CONCLUSION

The above referenced devices for carrying out the above methods canphysically be provided on a circuit board or within another electronicdevice and can include various processors, microprocessors, controllers,chips, disk drives, and the like. It will be apparent to one of ordinaryskill in the art that the modules, processors, controllers, units, andthe like may be implemented as electronic components, software, hardwareor a combination of hardware and software. Some embodiments provide theinteractive user interface discussed above on a mobile device,smartphone, tablet computer, laptop or desktop computer, or other typeof computing or processing device. While some devices and processors maybe described or depicted herein as separate entities, the functions maybe combined into fewer or greater number of physical entities.

Unless the context indicates otherwise, a reference in a claim to thenumber of instances of an element, be it a reference to one instance ormore than one instance, requires at least the stated number of instancesof the element but is not intended to exclude from the scope of theclaim a structure or method having more instances of that element thanstated. The word “comprise” or a derivative thereof, when used in aclaim, is used in a nonexclusive sense that is not intended to excludethe presence of other elements or steps in a claimed structure ormethod.

While the principles of the invention have been described above inconnection with specific devices, apparatus, systems, and methods, it isto be clearly understood that this description is made only by way ofexample and not as limitation. One of ordinary skill in the art willappreciate that various modifications and changes can be made withoutdeparting from the scope of the claims below. Accordingly, thespecification and figures are to be regarded in an illustrative ratherthan a restrictive sense, and all such modifications are intended to beincluded within the scope of present invention. The benefits,advantages, solutions to problems, and any element(s) that may cause anybenefit, advantage, or solution to occur or become more pronounced arenot to be construed as a critical, required, or essential features orelements of any or all the claims. The invention is defined solely bythe appended claims including any amendments made during the pendency ofthis application and all equivalents of those claims as issued.

We claim:
 1. A method for vertical scrolling through a representation ofdata comprising a plurality of rows, wherein said representation of datais too large to be presented legibly in its entirety within confines ofa display, the method comprising: presenting, on the display, a sectionof the representation; selecting, using the section presented on thedisplay, a portion of the representation for scrolling on; modifyingpresentation of the section presented on the display to includeadditional content of the representation based on the portion selected,wherein the additional content of the representation is to be presentedin a non-linear fashion; receiving input from a user interface device toscroll through the additional content of the representation, wherein theinput comprises making contact with a first point presented on thedisplay, wherein the first point is established as a first contact pointwhen the contact with the first point is maintained for at least adefined amount of time, the input further comprising movement from thefirst point presented on the display to provide non-linear scrollingthrough the additional content of the representation; and based onreceiving a second input associated with selection of a second pointpresented on the display and a pause in movement at the second point fora predetermined amount of time, wherein the second input comprises amovement of the contact with the first point away from the first pointpresented on the display to provide non-linear scrolling through theadditional content of the representation, and magnifying the row theuser input is associated with at any point during the scrolling,recalibrating a point of inflection from a first point of inflectionassociated with the first point to a second point of inflectionassociated with the second point, wherein the second point of inflectioncomprises a height as defined by a curve, wherein the curve comprises aplurality of other points, each respective one of the plurality of otherpoints comprising a respective height as defined by the curve; andmodifying presentation of the section presented on the display topresent content associated with the second point at the height definedby the curve for the second point of inflection and to present contentassociated with each respective one of the plurality of other points atthe respective height defined by the curve for the respective otherpoint, wherein the second point is associated with a channel, andwherein the content associated with the second point comprisesinformation associated with the channel; wherein the representation isan electronic program guide, wherein information in the electronicprogram guide is placed in the background of the presentation inresponse to the non-linear scrolling.
 2. The method of claim 1, whereinthe selecting the portion of representation for scrolling on includesidentifying the point of inflection within the portion.
 3. The method ofclaim 2, wherein the additional content of the representation is to bepresented in a non-linear fashion based on distance from the point ofinflection.
 4. The method of claim 3, wherein the non-linear fashionincludes a bell curve.
 5. The method of claim 3, wherein the non-linearfashion includes a piecewise linear function.
 6. The method of claim 2,wherein the additional content of the representation is to be presentedsuch that it is deemphasized as it gets further from the point ofinflection.
 7. The method of claim 6, wherein deemphasizing includesgetting smaller.
 8. The method of claim 6, wherein deemphasizingincludes fading to black.
 9. The method of claim 6, whereindeemphasizing includes changing opacity.
 10. The method of claim 1,wherein at least a part of the additional content of the representationmay be illegible.
 11. The method of claim 1, further comprisingemphasizing a part of the additional content of the representationassociated with a current location of the scrolling.
 12. The method ofclaim 11, wherein the emphasizing includes enlarging.
 13. The method ofclaim 2, wherein the input comprising movement around the point ofinflection provides scrolling with fine granularity.
 14. The method ofclaim 2, wherein the input comprising movement away from the point ofinflection provides accelerated scrolling.
 15. The method of claim 14,further comprising emphasizing a part of the additional content of therepresentation associated with a current location of the scrolling,wherein the emphasizing provides guidance regarding location of theaccelerated scrolling.
 16. The method of claim 2, further comprisingrecalibrating the point of inflection.
 17. The method of claim 16,wherein the recalibrating the point of inflection includes pausing theinput associated with movement for a predetermined amount of time. 18.The method of claim 1, wherein the portion of the representation is arow.
 19. The method of claim 1, wherein the portion of representation isa column.
 20. The method of claim 1, wherein the portion ofrepresentation is a row and column.
 21. The method of claim 1, whereinthe portion of representation is the section of the representation. 22.The method of claim 1, wherein the representation is a two dimensionaldata representation.
 23. The method of claim 1, wherein therepresentation is a three dimensional data representation.
 24. Themethod of claim 1, wherein the representation is a listing of variousitems of information for purposes of permitting the user to utilize theuser interface device to interactively view or select the various items.25. The method of claim 1, wherein the portion of representationincludes at least some subset of channel and time.
 26. The method ofclaim 1, wherein the input comprising movement of the user interfacedevice is mapped directly to movement of the scrolling through theadditional content of the representation.
 27. The method of claim 1,wherein the modifying presentation of the section presented on thedisplay includes modifying part of the section not within the portionselected.
 28. A non-transitory computer readable medium comprisingstored instructions, wherein when executed by a processor cause theprocessor to: present on a display a section of a representation of datacomprising a plurality of rows, wherein the representation is too largeto be presented legibly in its entirety within confines of the display;select, using the section presented on the display, a portion of therepresentation for scrolling on; modify presentation of the sectionpresented on the display to include additional content of therepresentation based on the portion selected, wherein the additionalcontent of the representation is to be presented in a non-linearfashion; process inputs from a user interface device associated withmovement thereof, wherein the inputs comprise making contact with afirst point presented on the display, wherein the first point isestablished as a first contact point when the contact with the firstpoint is maintained for at least a defined amount of time, the inputfurther comprising movement away from the first point of the userinterface to provide non-linear scrolling through the additional contentof the representation; and based on receiving a second input associatedwith selection of a second point of the user interface and a pause inmovement at the second point fora predetermined amount of time,recalibrating the point of inflection from a first point of inflectionassociated with the first point to a second point of inflectionassociated with the second point, wherein the second point of inflectioncomprises a height as defined by a curve, wherein the curve comprises aplurality of other points, each respective one of the plurality of otherpoints comprising a respective height as defined by the curve, whereinthe second input comprises a movement of the contact with the firstpoint away from the first point presented on the display to providenon-linear scrolling through the additional content of therepresentation, and magnifying the row the user input is associated withat any point during the scrolling; and modify presentation of thesection presented on the display to present content associated with thesecond point at the height defined by the curve for the second point ofinflection and to present content associated with each respective one ofthe plurality of other points at the respective height defined by thecurve for the respective other point, wherein the second point isassociated with a channel, and wherein the content associated with thesecond point comprises information associated with the channel; andwherein the representation is an electronic program guide, whereininformation in the electronic program guide is placed in the backgroundof the presentation in response to the non-linear scrolling.
 29. Thenon-transitory computer readable medium of claim 28, wherein the storedinstructions, when executed by the processor further cause the processorto identify a point of inflection within the portion, wherein theadditional content of the representation is to be presented such that itdecreases in size as it gets further from the point of inflection. 30.The non-transitory processor readable medium of claim 29, wherein thestored instructions, when executed by the processor further cause theprocessor to recalibrate the point of inflection.
 31. The non-transitoryprocessor readable medium of claim 28, wherein the stored instructions,when executed by the processor further cause the processor to enlarge apart of the additional content associated with a current location of thescrolling.
 32. An interactive device comprising a memory incommunication with at least one processor; a display device incommunication with the at least one processor, and configured by one ormore programs to: present a section of a representation of data, whereinthe representation is too large to be presented legibly in its entiretywithin confines of the display; modify presentation of the sectionpresented on the display to include additional content of therepresentation based on a portion of the section selected for scrolling,wherein the additional content of the representation is to be presentedin a non-linear fashion; and scroll through the modified presentation ofthe section based on user instructions received; and a user interface incommunication with the at least one processor, and operable to: receivea selection from a user, from the section presented on the display, ofthe portion of the representation for scrolling; and receive the userinstructions from the user, for scrolling through the modifiedpresentation, wherein the user instructions comprise making contact witha first point presented on the display, wherein the first point isestablished as a first contact point when the contact with the firstpoint is maintained for at least a defined amount of time, the inputfurther causing non-linear scrolling through the additional content ofthe representation from a first point; receive a second selection fromthe user, the second selection associated with selection of a secondpoint presented on the display and a pause in movement at the secondpoint for a predetermined amount of time, wherein the second selectioncomprises a movement of the contact with the first point away from thefirst point presented on the display to provide non-linear scrollingthrough the additional content of the representation, and magnifying therow the user selection is associated with at any point during thescrolling; and recalibrate a point of inflection from a first point ofinflection associated with the first point to a second point ofinflection associated with the second point, wherein the second point ofinflection comprises a height as defined by a curve, wherein the curvecomprises a plurality of other points, each respective one of theplurality of other points comprising a respective height as defined bythe curve; and modify presentation of the section presented on thedisplay to present content associated with the second point at theheight defined by the curve for the second point of inflection and topresent content associated with each respective one of the plurality ofother points at the respective height defined by the curve for therespective other point, wherein the second point is associated with achannel, and wherein the content associated with the second pointcomprises information associated with the channel; and wherein therepresentation is an electronic program guide, wherein information inthe electronic program guide is placed in the background of thepresentation in response to the non-linear scrolling.